package com.jt.feign;
//第三步：使用@FeignClient注解---远程调用接口
import com.jt.service.ProviderFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
/*@FeignClient 注解用于描述远程服务调用接口,这个接口不需要你写实现类,你
        * 只需要定义访问规则即可(例如请求方式,请求url,请求参数).
       @FeignClient注解描述的【接口的实现类对象会默认交给spring管理】,这个bean对象
 * 的名字默认就是name属性指定的值.@FeignClient描述的接口底层会为其创建实现类。
 */
@FeignClient(name="sca-provider",contextId="remoteProviderService",
        fallbackFactory = ProviderFallbackFactory.class ) //注意：先添加依赖，再导入包
public interface RemoteProviderService {
    @GetMapping("/provider/get/{msg}") //前提：存在这个服务端提供的http
    String echoMessage(@PathVariable("msg") String msg);
}
/**
 * 为远程调用服务接口指定一个contextId,作为远程调用服务的唯一标识即可
 * 在Feign访问接口中应用FallbackFactory对象
 */
